03. C++ Versions

Versions of C++

The International Organization for Standardization publishes standards for the C++ language. Every few years the standard is updated with new features and syntax. The C++ standards are written documents providing guidelines for what the C++ language should be able to do and what the language looks like.

The responsibility for implementing a standard is left to the company, person or team that designs a compiler; hence, not all compilers implement all features. And some compilers might implement a feature differently.

There are currently five published C++ standards with the earliest standard called C++98 and the most recent standard C++17. The number designates the year in which the standard was published such as 1998 and 2017.

Thus far, the classroom has been compiling your code with the oldest standard: C++98. We have used C++98 so that you could get the basics of C++ down without worrying about advanced features.

As an example of a more advanced features, C++11, allows you to initialize a vector with the following syntax:

vector<int> myvector = {5, 4, 9, 1, 10}

There is generally a lag of a few years between publication of a standard and industry adoption.

GCC Compiler

The classroom uses a compiler called gcc. Thus far, we have been compiling your code for you when you hit the "Test Run" button. In the "Performance Programming C++" module, you will use a different interface for writing, compiling and running your code. This interface also uses the gcc compiler.

In the classroom, gcc compiles with C++98 by default. As you will see, you can use the command line to tell gcc what version of C++ to use:

g++ -std=c++11 main.cpp

You might find different behavior on your system because of the compiler you are using or because of your compiler options.

C++ Versions

QUIZ QUESTION::

Rank the C++ standards from oldest to newest

ANSWER CHOICES:



Order

C++ Version

C++14

C++11

C++03

C++98

C++17

SOLUTION:

Order

C++ Version

C++14

C++11

C++03

C++98

C++17